#include<iostream>
#include<algorithm>

using namespace std;

const int N=1e5+10;

int h[N],e[2*N],ne[2*N],idx;
int n,m,ans=N;
bool st[N];


void add(int a,int b)
{
	e[idx]=b;
	ne[idx]=h[a];
	h[a]=idx++;
}


int dfs(int u)
{
	st[u]=true;
	int sum=1,res=0;
	for(int i=h[u];i!=-1;i=ne[i]){
		int j=e[i];
		if(!st[j]){
			int s=dfs(j);
			res=max(res,s);
			sum+=s;
		}
	}
	res=max(res,n-sum);
	ans=min(res,ans);
	return sum;
}


int main()
{
	cin>>n;
	fill(h,h+N,-1);
	
	for(int i=0;i<n-1;i++){
		int a,b;
		cin>>a>>b;
		add(a,b);
		add(b,a);
	}
	
	dfs(1);
	
	cout<<ans<<endl; 
	
	return 0;
}
